AMI のクロスアカウント共有をする際に「Snapshots encrypted with the AWS Managed CMK can’t be shared. Specify another snapshot.」エラーが表示されるときの対処方法
困っていた内容
自アカウントの AMI を他アカウントに共有しようと設定を行なったところ、Snapshots encrypted with the AWS Managed CMK can't be shared. Specify another snapshot.
というエラーが表示されて設定変更が行えません。
対応方法について教えてください。
どう対応すればいいの?
本エラーは AMI を構成する EBS スナップショットが AWS マネージドキーaws/ebs
によって暗号化されているために発生しています。そのため、カスタマーマネージドキーによって EBS スナップショットを暗号化することでエラーを回避できます。
簡単な対処方法は AMI のコピーを行い、KMS キーを AWS マネージドキーからカスタマーマネージドキーに変更することです。
対応方法
対象の AMI を選択した状態でアクションから「AMI をコピー」をクリックします。
「AMI コピーの EBS スナップショットを暗号化」にチェックを入れます。
KMS キーの項目で、カスタマーマネージドキーを選択して AMI のコピーを実行します。
AMI のコピーが完了したら、コピーした AMI を選択した状態で許可タブから「アカウント ID を追加」をクリックします。
AMI 共有先の AWS アカウント ID を入力して「AMI を共有」をクリックします。
「変更を保存」をクリックするとエラーが表示されずに設定変更が完了します。
AMI 共有先のアカウントの EC2 コンソールを確認したところ、対象の AMI が表示されていました! この AMI を使用して問題なくインスタンスの起動ができました。